package com.scau402.system1.repository;

import com.scau402.common.core.domain.entity.SysUser;
import com.scau402.system1.domain.dto.WarehouseStorage;
import com.scau402.system1.domain.dto.WmsCheckBoundOrderDTO;
import com.scau402.system1.domain.po.WmsAdjustBoundOrderDetailPO;
import com.scau402.system1.domain.po.WmsAdjustBoundOrderPO;
import com.scau402.system1.domain.po.WmsAuditOrderPO;
import com.scau402.system1.domain.query.WmsAdjustBoundOrderQuery;
import com.scau402.system1.domain.vo.WmsAdjustBoundOrderVO;
import com.scau402.system1.domain.vo.WmsAdjustEmployeeVO;

import java.util.List;

/**
 * 库存调整单Repository
 * @since 2024/2/3
 */
public interface IWmsAdjustOrderRepository {
    List<WmsAdjustBoundOrderVO> findOrderListByCreator(SysUser user, WmsAdjustBoundOrderQuery query);

    void save(WmsAdjustBoundOrderPO adjustBoundOrderPO);

    void save(WmsAdjustBoundOrderPO adjustBoundOrderPO, List<WmsAdjustBoundOrderDetailPO> orderDetailList);

    WmsAdjustBoundOrderDetailPO findByAudit(WmsAuditOrderPO audit);

    List<WmsAdjustEmployeeVO> getAdjustEmployee(Long tenantId);

    List<String> getCheckOrderCode(Long tenantId);

    Long checkIsAuditing(WarehouseStorage target);
}
